export const buildTree = (data) => {
  const tree = []
  const map = {}
  // 将数据转换成映射表，便于查找
  data.forEach((item) => {
    map[item.id] = item
  })
  data.forEach((item) => {
    const parent = map[item.parentId]
    if (parent) {
      // 如果有父节点，则添加到父节点的 children 数组中
      if (!parent.children) {
        parent.children = []
      }
      parent.children.push(item)
    } else {
      // 如果没有父节点，则直接添加到树的根节点
      tree.push(item)
    }
  })
  return tree
}

export const renameModfdiv = (tree) => {
  // 遍历树的每个节点
  tree.forEach((node) => {
    // 修改当前节点的属性名
    node.value = node.mofDivCode
    node.label = `(${node.mofDivCode})${node.mofDivName}`
    // 如果当前节点有子节点，则递归处理子节点
    if (node.children) {
      renameModfdiv(node.children)
    }
  })
  return tree
}

export const renameDept = (tree) => {
  // 遍历树的每个节点
  tree.forEach((node) => {
    // 修改当前节点的属性名
    node.value = node.id
    node.label = node.label
    // 如果当前节点有子节点，则递归处理子节点
    if (node.children) {
      renameDept(node.children)
    }
  })
  return tree
}